home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / DCHUD.z / DCHUD
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDCCCCHHHHUUUUDDDD((((3333FFFF))))                                                            DDDDCCCCHHHHUUUUDDDD((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DCHUD   - DCHUD updates an augmented Cholesky decomposition of the
  10.      triangular part of an augmented QR decomposition.  Specifically, given an
  11.      upper triangular matrix R of order P, a row vector X, a column vector Z,
  12.      and a scalar Y, DCHUD determines a untiary matrix U and a scalar ZETA
  13.      such that
  14.  
  15.  
  16.         (R  Z)     (RR   ZZ )
  17.         U  * (    )  =  (        ) ,
  18.         (X  Y)     ( 0  ZETA)
  19.  
  20.      where RR is upper triangular.  If R and Z have been obtained from the
  21.      factorization of a least squares problem, then RR and ZZ are the factors
  22.      corresponding to the problem with the observation (X,Y) appended.  In
  23.      this case, if RHO is the norm of the residual vector, then the norm of
  24.      the residual vector of the updated problem is DSQRT(RHO**2 + ZETA**2).
  25.      DCHUD will simultaneously update several triplets (Z,Y,RHO).  For a less
  26.      terse description of what DCHUD does and how it may be applied, see the
  27.      LINPACK guide.
  28.  
  29.      The matrix U is determined as the product U(P)*...*U(1), where U(I) is a
  30.      rotation in the (I,P+1) plane of the form
  31.  
  32.         (     C(I)      S(I) )
  33.         (                    ) .
  34.         (    -S(I)      C(I) )
  35.  
  36.      The rotations are chosen so that C(I) is double precision.
  37.  
  38.  
  39. SSSSYYYYNNNNOOOOPPPPSSSSYYYYSSSS
  40.       SUBROUTINE DCHUD(R,LDR,P,X,Z,LDZ,NZ,Y,RHO,C,S)
  41.  
  42. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  43.      On Entry
  44.  
  45.      RRRR DOUBLE PRECISION(LDR,P), where LDR .GE. P.
  46.         R contains the upper triangular matrix
  47.         that is to be updated.  The part of R
  48.         below the diagonal is not referenced.
  49.  
  50.      LLLLDDDDRRRR INTEGER.
  51.         LDR is the leading dimension of the array R.
  52.  
  53.      PPPP INTEGER.
  54.         P is the order of the matrix R.
  55.  
  56.      XXXX DOUBLE PRECISION(P).
  57.         X contains the row to be added to R.  X is
  58.         not altered by DCHUD.
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDCCCCHHHHUUUUDDDD((((3333FFFF))))                                                            DDDDCCCCHHHHUUUUDDDD((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      ZZZZ DOUBLE PRECISION(LDZ,N)Z), where LDZ .GE. P.
  75.         Z is an array containing NZ P-vectors to
  76.         be updated with R.
  77.  
  78.      LLLLDDDDZZZZ INTEGER.
  79.         LDZ is the leading dimension of the array Z.
  80.  
  81.      NNNNZZZZ INTEGER.
  82.         NZ is the number of vectors to be updated
  83.         NZ may be zero, in which case Z, Y, and RHO
  84.         are not referenced.
  85.  
  86.      YYYY DOUBLE PRECISION(NZ).
  87.         Y contains the scalars for updating the vectors
  88.         Z.  Y is not altered by DCHUD.
  89.  
  90.      RRRRHHHHOOOO DOUBLE PRECISION(NZ).
  91.         RHO contains the norms of the residual
  92.         vectors that are to be updated.  If RHO(J)
  93.         is negative, it is left unaltered.  On Return RC
  94.  
  95.      RRRRHHHHOOOO contain the updated quantities.
  96.  
  97.      ZZZZ
  98.  
  99.  
  100.      CCCC DOUBLE PRECISION(P).
  101.         C contains the cosines of the transforming
  102.         rotations.
  103.  
  104.      SSSS DOUBLE PRECISION(P).
  105.         S contains the sines of the transforming
  106.         rotations.  LINPACK.  This version dated 08/14/78 .  G. W. Stewart,
  107.      University of Maryland, Argonne National Lab.
  108.  
  109.      DDDDCCCCHHHHUUUUDDDD uses the following functions and subroutines. Extended BLAS DROTG
  110.      Fortran DSQRT
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.